/* V2 extensions intentionally sit on top of the original Sound Planet visual system. */
.v2-badge{font-size:10px;letter-spacing:.05em;background:#d9e8db;color:#49765d;padding:4px 7px;border-radius:8px;vertical-align:middle}
.teacher-link{font-size:12px;font-weight:800;color:#53765d;background:#fffefbbd;text-decoration:none;border:1px solid #dfe8dd;border-radius:999px;padding:8px 13px;white-space:nowrap}
.teacher-link:hover,.schedule-button:hover{background:#eef4e7}
.mode-choice{padding:9px 10px;min-height:61px}
.mode-choice .mode-icon{flex-shrink:0;font-size:20px}
.mode-choice .mode-detail strong{font-size:13px}
.mode-choice .mode-detail small{font-size:10px}
.modes-card{padding-top:15px;padding-bottom:14px}
.mode-grid{gap:8px}
.mode-choice[data-choice="seatedRest"]{grid-column:1/-1}
.v2-live-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:9px;border-top:1px solid #e6eadd;padding-top:10px}
.v2-live-metrics span{font-size:10px;color:#7e8c7e;display:flex;flex-wrap:wrap;justify-content:center;gap:5px}
.v2-live-metrics strong{font-size:13px;color:#496d57;font-variant-numeric:tabular-nums}
.schedule-pill{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#597465;font-size:11px;font-weight:700;background:#eff6ed;border-radius:10px;padding:8px 10px;margin-bottom:9px}
#resumeSchedule{border:0;background:#d9e8d6;border-radius:7px;color:#3f7558;font-size:10px;padding:5px;white-space:nowrap}
#restCountdown{color:#9c7147}
.sync-state{font-size:10px;color:#859388;text-align:center;margin-top:5px;min-height:13px}
.device-pair-state{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px;border:1px solid #e7e7ce;background:#fffaf0;color:#8a7752;border-radius:11px;padding:7px 10px;font-size:11px;font-weight:700}
.device-pair-state.paired{border-color:#dbe7d6;background:#f2f9ee;color:#517b5c}
.device-pair-state a{color:#65875e;white-space:nowrap;text-decoration:underline;text-underline-offset:2px}
.schedule-button{color:#53785b;text-decoration:none;display:inline-flex;align-items:center}
.control-column{gap:11px}
.scene-card{min-height:560px}
.scene-guidance{margin:10px 0 0;color:#567c67;font-size:14px;font-weight:800;letter-spacing:.02em}
.footer{font-size:10px}
@media(min-width:1050px) and (max-height:860px){.app{padding-top:14px;gap:9px}.scene-card{min-height:0}.space-scene{transform:scale(.91);transform-origin:center center}.measure-card{padding-top:13px;padding-bottom:10px}.modes-card{padding-top:12px;padding-bottom:10px}.mode-choice{min-height:53px;padding:7px 10px}.mode-choice .mode-icon{height:36px;width:36px}.mode-choice .mode-detail small{display:none}.action-card{padding-top:11px;padding-bottom:9px}.scene-heading h1{font-size:clamp(28px,3.1vw,49px)}}
@media(min-width:1050px) and (max-height:950px){.app{padding-top:12px;padding-bottom:8px;gap:7px}.topbar{min-height:45px}.dashboard{gap:14px}.control-column{gap:8px}.scene-card{min-height:0;padding-top:16px;padding-bottom:12px}.scene-heading{margin-top:6px}.space-scene{min-height:150px}.scene-heading h1{font-size:clamp(28px,3.1vw,43px)}.scene-top{margin-bottom:0}.scene-heading .overline{margin-bottom:4px}.planet-message{margin-top:2px}.measure-card{padding:13px 21px 9px;min-height:0}.meter-content{margin-top:4px}.visual-meter{margin-top:8px;height:20px}.meter-scale{margin-top:4px}.mic-row{margin-top:6px;padding-top:8px}.v2-live-metrics{margin-top:5px;padding-top:6px}.modes-card{padding:11px 17px 10px}.mode-grid{gap:6px}.mode-choice{min-height:45px;padding:5px 8px}.mode-choice .mode-icon{height:31px;width:31px;font-size:16px}.mode-choice .mode-detail strong{font-size:12px}.mode-choice .mode-detail small{display:none}.action-card{padding:9px 13px;gap:3px}.schedule-pill{margin-bottom:4px;padding:6px 9px}.sync-state{margin-top:1px}.footer{padding-top:0}}
@media(min-width:1050px) and (max-height:950px){.device-pair-state{padding:4px 8px;font-size:10px}}
@media(max-width:780px){.teacher-link{font-size:11px;padding:7px 10px}.v2-live-metrics{gap:0}.scene-card{min-height:520px}.mode-choice{min-height:66px}}
@media(max-width:500px){.topbar-privacy{display:none}.header-right{gap:5px}.teacher-link{font-size:10px;padding:6px 8px}.scene-card{min-height:440px}.v2-live-metrics span{font-size:9px}.v2-live-metrics strong{font-size:12px}}

/* Compact teaching controls: planet, context, pause, floating window, expand. */
.compact-toggle{font-size:25px;line-height:1;font-weight:900}
#floatButton{white-space:nowrap;color:#49795f}
.action-secondary{flex-wrap:wrap}
body.compact-page{min-width:0;background:transparent}
.compact-page .app{width:100%;max-width:none;min-height:0;height:auto;background:transparent}
.compact-page .mini-panel{
  display:flex;align-items:center;min-height:108px;width:100%;gap:11px;
  padding:13px 17px;border-radius:22px;
  background:linear-gradient(120deg,#eff7ed,#fbf9ec);
  border:1px solid #dcead9;box-shadow:0 6px 24px #456e4414;
}
.compact-page .mini-orb{width:76px;height:76px;flex:0 0 76px;opacity:.86}
.mini-mode{min-width:0;flex:1 1 140px;height:44px;border:1px solid #cfdfd3;border-radius:12px;
  background:#ffffffd9;padding:0 9px;color:#375d4b;font-size:14px;font-weight:900}
.mini-tool{width:43px;height:43px;flex:0 0 43px;border:1px solid #d1e1d4;border-radius:13px;
  background:#ffffffd9;color:#376b52;font-weight:900;font-size:19px;display:grid;place-items:center}
.mini-tool:hover,.mini-tool:focus-visible{background:#e4f1e6;border-color:#93bca3}
.mini-tool:disabled{opacity:.45}
.app[data-mood="paused"] .planet,.app[data-mood="paused"] .mini-orb{
  background:radial-gradient(circle at 25% 15%,#eff2ef,#bdc9c1 73%,#9baea1);
  filter:saturate(.35);animation:none
}
@media(max-width:530px){
  .compact-page .mini-panel{padding:10px;min-height:80px;gap:6px;border-radius:15px}
  .compact-page .mini-orb{width:53px;height:53px;flex-basis:53px}
  .mini-mode{flex-basis:90px;font-size:12px;height:37px;padding:0 4px}
  .mini-tool{width:35px;height:37px;flex-basis:35px;font-size:17px;border-radius:10px}
}
@media(prefers-reduced-motion:reduce){.compact-page .mini-orb{animation:none!important}}

/* Independently adjustable warning thresholds for each classroom scenario. */
.threshold-settings{margin:0 0 22px;padding:17px;border:1px solid #dce8db;border-radius:17px;background:#f6faf4}
.threshold-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:15px}
.threshold-heading h3{margin:0;font-size:16px;color:#375b49;font-weight:900}
.threshold-heading p,.threshold-hint{margin:6px 0 0;font-size:11px;line-height:1.65;color:#788b7d}
.threshold-restore{border:1px solid #bfd6c4;background:#fff;color:#527d62;border-radius:9px;padding:7px 10px;white-space:nowrap;font-size:11px;font-weight:900}
.threshold-restore:hover{background:#edf7eb}
.threshold-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.threshold-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 8px;padding:11px;background:#fff;border-radius:12px;border:1px solid #e7eee5}
.threshold-row label{grid-column:1;font-weight:900;color:#425e4d;font-size:12px}
.threshold-row small{grid-column:1;grid-row:2;font-size:10px;color:#9da99c}
.threshold-row output{grid-column:2;grid-row:1 / span 2;color:#467b5e;font-size:12px;font-weight:900;white-space:nowrap;font-variant-numeric:tabular-nums}
.threshold-row input{grid-column:1 / -1;width:100%;min-width:0;margin:4px 0 0;accent-color:#649b78;cursor:pointer}
.threshold-hint{margin-top:13px}
@media(max-width:530px){
  .threshold-settings{padding:12px}
  .threshold-heading{flex-direction:column}
  .threshold-list{grid-template-columns:1fr}
}
